package data.nanjing.expo.models.domain.dto.exhibition;


import com.fasterxml.jackson.annotation.JsonFormat;
import data.nanjing.expo.common.Util;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;

/**
 * 参展方信息
 * @author ChanJi
 * @create 2018-05-23 0:46
 * expo_participants
 **/
public class ParticipantDetailDto {

    private Integer id;

    /**
     * 用户id
     * user_id
     */
    private Integer userId;
    /**
     * 公司名称(参展商名称)
     * name
     */
    @NotEmpty(message = "参展商名称不能为空")
    private String companyName;

    /**
     * 公司简称
     */
    @NotEmpty(message = "公司简称不能为空")
    private String companyAbbreviation;
    /**
     * 公司官网
     */
    private String officialUrl;
    /**
     * 橱窗图片
     */
    @NotEmpty(message = "请上传参展商橱窗图")
    private String companyImg;
    /**
     * 修改橱窗图片上传用的字段
     */
    private String key;
    /**
     * 公司地址
     * address
     */
    @NotEmpty(message = "公司地址不能为空")
    @Size(min = 2,max = 50,message = "地址的长度在2-50字之间")
    private String address;
    /**
     * 行业、服务领域
     * scope
     */
    @NotEmpty(message = "公司领域不能为空")
    @Size(min = 2,max = 50,message = "公司领域在2-50字符之间")
    private String companyScope;

    /**
     * 公司介绍
     * introduction
     */
    @NotEmpty(message ="公司介绍不能为空")
    private String companyIntroduction;

    /**
     * 产品服务介绍
     * service_intro
     */
    @NotEmpty(message = "产品介不能为空")
    private String serviceIntroduction;

    /**
     * 案例介绍
     * caseIntro
     */
    private String caseIntroduction;

    /**
     *人才招聘
     * recruit
     */
    private String companyRecruit;

    /**
     * 联系人
     * link_man
     */
    @NotEmpty(message = "联系人姓名不能为空")
    private String contacts;

    /**
     * 联系人电话
     * link_man_phone
     */
    @NotEmpty(message = "联系人电话不能为空")
        private String contactsPhone;

    /**
     * 传真
     * fax
     */
    private String  companyFax;
    /**
     * qq
     */
    private String qq;

    /**
     * 微信号
     *
     */
    private String wechat;

    /**
     * 邮箱
     * email
     */
    @NotEmpty(message = "联系人邮箱不能为空")
    private String contactsEmail;

    /**
     * 微信二维码路径
     * subscript_img
     */
    private String wechatQrcode;

    /**
     * 微信二维码key
     */
    private String qRcodeKey;

    /**
     * 展会名称
     * exhibition_name
     */
    @NotEmpty(message = "展会名称不能为空")
    private String expoName;
    /**
     * 展会id
     */
    @NotNull(message = "展会id不能为空")
    private Integer expoId;
    /**
     * 展馆名称
     * exhibition_hall
     */
    @NotEmpty(message = "展馆名称不能为空")
        private String hallName;

    /**
     * 展馆id
     */
    @NotNull(message = "展馆id不能为空")
    private Integer hallId;



    /**
     *展区名称
     * exhibition_area
     */
    @NotEmpty(message = "展区名称不能为空")
    private String areaName;

    /**
     * 展区id
     */
    @NotNull(message = "展区id不能为空")
    private Integer areaId;
    /**
     * 展位id
     */
    @NotNull(message = "展位id不能为空")
    private Integer standId;
    /**
     * 展位编号字母
     * word
     */
    @NotNull(message = "展位编号字母部分0不能为空")
    private String standWord;
    /**
     * 展位编号数字
     */
    @NotNull(message = "展位编号数字部分不能为空")
    private Integer standNumber;

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Integer getUserId() {
        return userId;
    }

    public void setUserId(Integer userId) {
        this.userId = userId;
    }

    public String getExpoName() {
        return expoName;
    }

    public void setExpoName(String expoName) {
        this.expoName = expoName;
    }

    public Integer getExpoId() {
        return expoId;
    }

    public void setExpoId(Integer expoId) {
        this.expoId = expoId;
    }

    public String getHallName() {
        return hallName;
    }

    public String getqRcodeKey() {
        return wechatQrcode;
    }

    public void setqRcodeKey(String qRcodeKey) {
        this.qRcodeKey = qRcodeKey;
    }

    public void setHallName(String hallName) {
        this.hallName = hallName;
    }

    public Integer getHallId() {
        return hallId;
    }

    public void setHallId(Integer hallId) {
        this.hallId = hallId;
    }

    public String getAreaName() {
        return areaName;
    }

    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }

    public Integer getAreaId() {
        return areaId;
    }

    public void setAreaId(Integer areaId) {
        this.areaId = areaId;
    }

    public Integer getStandId() {
        return standId;
    }

    public void setStandId(Integer standId) {
        this.standId = standId;
    }

    public String getStandWord() {
        return standWord;
    }

    public void setStandWord(String standWord) {
        this.standWord = standWord;
    }

    public Integer getStandNumber() {
        return standNumber;
    }

    public void setStandNumber(Integer standNumber) {
        this.standNumber = standNumber;
    }

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getCompanyAbbreviation() {
        return companyAbbreviation;
    }

    public void setCompanyAbbreviation(String companyAbbreviation) {
        this.companyAbbreviation = companyAbbreviation;
    }

    public String getCompanyImg() {
        if (companyImg!=null){
            return Util.getFinalFilePath(companyImg,"480","293");
        }
        return companyImg;
    }

    public String getKey() {
        return key;
    }

    public void setKey(String key) {
        this.key = key;
    }

    public void setCompanyImg(String companyImg) {
        this.companyImg = companyImg;
    }

    public String getAddress() {
        return address;
    }

    public void setAddress(String address) {
        this.address = address;
    }

    public String getCompanyScope() {
        return companyScope;
    }

    public void setCompanyScope(String companyScope) {
        this.companyScope = companyScope;
    }

    public String getCompanyIntroduction() {
        return companyIntroduction;
    }

    public void setCompanyIntroduction(String companyIntroduction) {
        this.companyIntroduction = companyIntroduction;
    }

    public String getServiceIntroduction() {
        return serviceIntroduction;
    }

    public void setServiceIntroduction(String serviceIntroduction) {
        this.serviceIntroduction = serviceIntroduction;
    }

    public String getCaseIntroduction() {
        return caseIntroduction;
    }

    public void setCaseIntroduction(String caseIntroduction) {
        this.caseIntroduction = caseIntroduction;
    }

    public String getCompanyRecruit() {
        return companyRecruit;
    }

    public void setCompanyRecruit(String companyRecruit) {
        this.companyRecruit = companyRecruit;
    }

    public String getContacts() {
        return contacts;
    }

    public void setContacts(String contacts) {
        this.contacts = contacts;
    }

    public String getContactsPhone() {
        return contactsPhone;
    }

    public void setContactsPhone(String contactsPhone) {
        this.contactsPhone = contactsPhone;
    }

    public String getCompanyFax() {
        return companyFax;
    }

    public void setCompanyFax(String companyFax) {
        this.companyFax = companyFax;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public String getWechat() {
        return wechat;
    }

    public void setWechat(String wechat) {
        this.wechat = wechat;
    }

    public String getContactsEmail() {
        return contactsEmail;
    }

    public void setContactsEmail(String contactsEmail) {
        this.contactsEmail = contactsEmail;
    }

    public String getWechatQrcode() {
        return Util.getFinalFilePath(wechatQrcode,"200","200");
    }

    public void setWechatQrcode(String wechatQrcode) {
        this.wechatQrcode = wechatQrcode;
    }

    public String getOfficialUrl() {
        return officialUrl;
    }

    public void setOfficialUrl(String officialUrl) {
        this.officialUrl = officialUrl;
    }

    @Override
    public String toString() {
        return "ParticipantDetailDto{" +
                "id=" + id +
                ", userId=" + userId +
                ", companyName='" + companyName + '\'' +
                ", companyAbbreviation='" + companyAbbreviation + '\'' +
                ", officialUrl='" + officialUrl + '\'' +
                ", companyImg='" + companyImg + '\'' +
                ", key='" + key + '\'' +
                ", address='" + address + '\'' +
                ", companyScope='" + companyScope + '\'' +
                ", companyIntroduction='" + companyIntroduction + '\'' +
                ", serviceIntroduction='" + serviceIntroduction + '\'' +
                ", caseIntroduction='" + caseIntroduction + '\'' +
                ", companyRecruit='" + companyRecruit + '\'' +
                ", contacts='" + contacts + '\'' +
                ", contactsPhone='" + contactsPhone + '\'' +
                ", companyFax='" + companyFax + '\'' +
                ", qq='" + qq + '\'' +
                ", wechat='" + wechat + '\'' +
                ", contactsEmail='" + contactsEmail + '\'' +
                ", wechatQrcode='" + wechatQrcode + '\'' +
                ", qRcodeKey='" + qRcodeKey + '\'' +
                ", expoName='" + expoName + '\'' +
                ", expoId=" + expoId +
                ", hallName='" + hallName + '\'' +
                ", hallId=" + hallId +
                ", areaName='" + areaName + '\'' +
                ", areaId=" + areaId +
                ", standId=" + standId +
                ", standWord='" + standWord + '\'' +
                ", standNumber=" + standNumber +
                '}';
    }
}
